/**
 *
 *
 *  数组去重
 *  @param {Array} arr
 */

// 1 
function unique(arr) {
    // 声明一个结果数组
    let result = [];
    arr.forEach(item => {
        // 检测result数组中是否存在当前遍历项
        // 如果不存在 就添加到result中
        if (result.indexOf(item) === -1) {
            result.push(item)
        }
    })
    return result
}
// 2
function unique2(arr) {
    // 声明一个结果数组
    let result = [];
    // 声明一个空对象
    let obj = {};
    arr.forEach(item => {
        // 如果obj不存在属性为当前item的 再存入结果数组中
        if (!obj[item]) {
            // 将item作为属性名存储在obj中
            obj[item] = true;
            result.push(item)
        }
    })
    return result;
}
// 3 set
function unique3(arr) {
    return [...new Set(arr)]
}